A virtual machine is software that is executed on hardware to create a virtualization of a physical computer system. Virtual machines function as self-contained platforms that run their own operating systems and software applications. A host machine concurrently runs one or more virtual machines using software that is referred to as a hypervisor. The hypervisor allocates portions of the host machine's resources to the virtual machines. These resources include, for example, the host machine's underlying physical processors and memory devices.
Guest applications, including guest operating systems, are executed on the allocated resources of each virtual machine. Local or remote clients access these guest applications to perform computing tasks. In some instances, virtual machines and guest applications are implemented to provide cloud computing environments.